package com.mikufufu.blog.service;

import com.mikufufu.blog.model.dto.admin.ArticleDTO;
import com.mikufufu.blog.model.dto.api.ArticleParam;
import com.mikufufu.blog.model.dto.admin.SearchArticleParam;
import com.mikufufu.blog.model.entity.Article;
import com.mikufufu.blog.model.vo.admin.ArticleVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mikufufu.blog.model.vo.api.ArticleApiVO;

/**
 * 文章表 服务类
 * 
 */
public interface ArticleService extends IService<Article>{

    ArticleVO getArticleById(Integer id);

    IPage<ArticleVO> getArticlePage(SearchArticleParam article);

    IPage<ArticleApiVO> getArticlePage(ArticleParam article);

    ArticleVO getTopArticle();

    Boolean setTopArticle(Integer articleId);

    Long getWordCount();

    boolean updateArticle(ArticleDTO article);

    Boolean addArticle(ArticleDTO article);
}
